<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Alegro_model extends CI_Model {
	
	public function __construct(){
		parent::__construct();
		$this->load->model ('usuario_model', 'usuario');
	}
	public function get_all($table=NULL){
		$alegroPedidos = $this->load->database('alegro', TRUE);
		return $alegroPedidos->get($table)->result();
	}
	
	public function get_byemail($email=NULL, $table=NULL, $campo=NULL){
		if ($email != NULL){
			$alegroPedidos = $this->load->database('alegro', TRUE);
			$alegroPedidos->where($campo, $email);
			$query = $alegroPedidos->get($table)->row();
			if(count($query) === 1) {
				return $query;
			} else {
				return NULL;
			}
		} else {
			return NULL;
		}
	}
	
	public function authenticate($dados = NULL) {
		
		if ($dados['usuario'] != NULL && $dados['senha'] != NULL) {
			$alegroPedidos = $this->load->database('alegro', TRUE);
			$alegroPedidos->where('usu_email', $dados['usuario']);
			$alegroPedidos->where('usu_senha', $dados['senha']);
			$query = $alegroPedidos->get('tbl_usuario')->row();

			$this->load->model('usuario_model', 'usuario');
			$perfil = $this->usuario->get_tipo_usuario_by_id($query->tip_codigo_tipo_usuario);

			if(count($query) === 1) {
				$dados = array(
						'usuario' 		=> $query->usu_nome,
						'email' 		=> $query->usu_email,
						'usuario_id' 	=> $query->usu_codigo, 
						'perfil_id' 	=> $query->tip_codigo_tipo_usuario, 
						'perfil' 		=> $perfil->tpusu_nome, 
						'grupo' 		=> $query->usu_grupo, 
						'codigo_singem' => $query->usu_codigo_singem, 
						'logado' 		=> TRUE
				);
				
// 				echo "<pre>";
// 				print_r($dados);
// 				exit;
				
				return $dados;
			}else{
				return NULL;
			}
		}
	}
	
	public function get_comissao_vendedor($codigo_vendedor = NULL){
		$result = 0;
		if ($codigo_vendedor != NULL ) {
			$singem = $this->load->database('singem', TRUE);
			$singem->select('DescontoMaximo as desconto_maximo');
			$singem->where('Vendedor', $codigo_vendedor);
			$consulta = $singem->get('Cad_Vendedor')->row();
			
			if (isset($consulta->desconto_maximo) && $consulta->desconto_maximo != ""){
				$result = $consulta->desconto_maximo;
			}
		}
		return $result;
	}
	
	public function confirm_senha($dados=NULL, $usuario_id=NULL){
		if ($dados != NULL && $usuario_id != NULL){
			$alegroPedidos = $this->load->database('alegro', TRUE);
			$alegroPedidos->where('usu_codigo', $usuario_id);
			$alegroPedidos->where('usu_senha', $dados);
			$query = $alegroPedidos->get('tbl_usuario')->row();
			
			if(count($query) === 1) {
				return TRUE;
			}else{
				return FALSE;
			}
		}
	}
	
	public function altera_senha($dados=NULL, $usuario_id=NULL){
		if ($dados != NULL && $usuario_id != NULL){
			$alegroPedidos = $this->load->database('alegro', TRUE);
			$alegroPedidos->set('usu_senha', $dados);
			$alegroPedidos->where('usu_codigo', $usuario_id);
			$query = $alegroPedidos->update('tbl_usuario');
			
			if ($query){
				return TRUE;
			} else {
				return FALSE;
			}
		}
	}
	
	/*
	public function sequence($table=NULL, $campo=NULL){
		if ($table != NULL && $campo != NULL){
			$alegroPedidos = $this->load->database('alegro', TRUE);
			$alegroPedidos->select($campo);
			$result = $alegroPedidos->get($table)->row();
			if ($result != NULL){
				//Incrementa o valor da sequence em 1
				$value = $result->$campo + 1;
				$data = array($campo => $value);
				$alegroPedidos->update($table, $data, "$campo = ".$result->$campo);
			} else {
				$data = array($campo => 1);
				$alegroPedidos->insert($table, $data);
			}
			
			return $data[$campo];
		} else {
			return NULL;
		}
	}
	*/
	public function sequence($table=NULL, $campo=NULL, $banco=NULL){
		if ($table != NULL && $campo != NULL && $banco != NULL){
			$singem = $this->load->database("$banco", TRUE);
			$singem->select($campo);

			if ($banco == "singem"){
				//$singem->like($campo, '0', 'after');
			}
			$singem->order_by($campo, "DESC");

			//$singem->where($campo, "0%");
			//$singem->where('Cliente', '%'.$id.'%');
				
			$result = $singem->get($table)->row();
			
// 			echo "<pre>";
// 			print_r($singem->queries[0]);
// 			echo "<br>";
// 			print_r($result);
			//exit;
			
			if ($result != NULL){
				//Incrementa o valor da sequence em 1
				$value = $result->$campo + 1;
				//$data = array($campo => "0".$value);
				$data = array($campo => $value);
				
				//echo "<pre>";
// 				echo "<br/>";
// 				print_r($value);
// 				echo "<br/>";
// 				print_r($data);
// 				exit;
				
				//$data["$campo"] = "0".$data["$campo"];
				if ($banco == "alegro") {
					$singem->update($table, $data, "$campo = ".$result->$campo);
				}
			} else {
				$data = array($campo => 1);
				$singem->insert($table, $data);
			}
			
			return $data[$campo];
		} else {
			return NULL;
		}
		
	}
	
}


